﻿Public Class frmThanhVien
    Dim db As QlqaContext = New QlqaContext()
    Private Sub lvDs_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) Handles lvDs.SelectedIndexChanged
        If (lvDs.SelectedItems.Count) Then
            txtTen.Text = lvDs.SelectedItems(0).SubItems(1).Text
            txtTenThat.Text = lvDs.SelectedItems(0).SubItems(2).Text
            txtMatKhau.Text = lvDs.SelectedItems(0).Tag.MatKhau
        End If
    End Sub

    Private Sub lvDs_MouseDoubleClick(sender As System.Object, e As System.Windows.Forms.MouseEventArgs) Handles lvDs.MouseDoubleClick
        txtTen.Text = lvDs.SelectedItems(0).SubItems(1).Text
        txtTenThat.Text = lvDs.SelectedItems(0).SubItems(2).Text
        txtMatKhau.Text = lvDs.SelectedItems(0).Tag.MatKhau
    End Sub

    Private Sub CapNhatSoThuTu()
        For i As Integer = 1 To lvDs.Items.Count
            lvDs.Items(i - 1).Text = i.ToString()
        Next
    End Sub

    Private Sub btnThem_Click(sender As System.Object, e As System.EventArgs) Handles btnThem.Click

        Dim obj As ThanhVien = New ThanhVien()

        obj.Ten = txtTen.Text
        obj.TenThat = txtTenThat.Text
        obj.MatKhau = txtMatKhau.Text
        db.ThanhViens.Add(obj)

        db.SaveChanges()
        LoadDs()
        MessageBox.Show("Cập nhật thành công", "Chúc mừng")
    End Sub

    Private Sub frmThanhVien_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        LoadDs()
    End Sub

    Sub LoadDs()
        lvDs.Items.Clear()

        For Each o As ThanhVien In db.ThanhViens
            Dim li = New ListViewItem()
            li.Tag = o
            li.SubItems.Add(o.Ten)
            li.SubItems.Add(o.TenThat)
            lvDs.Items.Add(li)
        Next
        CapNhatSoThuTu()
    End Sub

    Private Sub btnXoa_Click(sender As System.Object, e As System.EventArgs) Handles btnXoa.Click
        If lvDs.SelectedItems.Count = 0 Then Return



        Dim obj As ThanhVien = lvDs.SelectedItems(0).Tag

        If Not IsNothing(obj) Then
            db.ThanhViens.Remove(obj)
            db.SaveChanges()
            ' và xóa dòng được trên thể hiện ListView
            lvDs.SelectedItems(0).Remove()
            ' Cập nhật lại số thứ tự
            CapNhatSoThuTu()
        End If


    End Sub

    Private Sub btnCapNhat_Click(sender As System.Object, e As System.EventArgs) Handles btnCapNhat.Click
        If lvDs.SelectedItems.Count = 0 Then Return

        ' Lấy số thứ tự của dòng đang được chọn
        Dim selectedIndex As Integer = CType(lvDs.SelectedItems(0).Text, Integer) - 1


        Dim obj As ThanhVien = lvDs.SelectedItems(0).Tag

        If Not IsNothing(obj) Then

            obj.Ten = txtTen.Text
            obj.TenThat = txtTenThat.Text
            obj.MatKhau = txtMatKhau.Text
            db.SaveChanges()

            ' Cập nhật lại trên thể hiện ListView
            lvDs.Items(selectedIndex).SubItems(1).Text = obj.Ten
            lvDs.Items(selectedIndex).SubItems(2).Text = obj.TenThat

            ' Cập nhật lại số thứ tự
            CapNhatSoThuTu()
        End If


        MessageBox.Show("Cập nhật thành công", "Chúc mừng")
    End Sub

    Private Sub btnSoanLai_Click(sender As System.Object, e As System.EventArgs) Handles btnSoanLai.Click
        txtTen.Text = String.Empty
        txtTenThat.Text = String.Empty
        txtMatKhau.Text = String.Empty
    End Sub
End Class